bsahd firefox
bsahdのuserchrome.css.icon 共有兼バックアップ
code:userChrome.css
/* メニューやブックマークの行間隔を詰める */
menupopup>menuitem,
menupopup>menu {
padding-block: 1px !important;
}
/* オプションメニューの行間隔&左右余白 */
:root {
--arrowpanel-menuitem-padding: 0px 0px !important;
--urlbar-min-height: 24px !important;
--tab-min-height: 18px !important;
--inline-tab-padding: 2px !important;
font-size:12px;
}
.tab-label-container{
height:1.8em !important;
}
* {
font-family: "Mgen+ 1p", sans-serif !important;
}
toolbar .toolbarbutton-1 {
&>.toolbarbutton-icon,
&>.toolbarbutton-text,
&>.toolbarbutton-badge-stack {
width: 16px !important;
height: 16px !important;
padding: 0 !important;
}
}
toolbarbutton.bookmark-item:not(.subviewbutton) {
margin: 0 !important;
padding: 0 2px !important;
}
.tab-close-button {
height: 16px !important;
width: 16px !important;
padding: 0 !important;
}
.tab-throbber,
.tab-icon-pending,
.tab-icon-image,
.tab-sharing-icon-overlay,
.tab-icon-overlay {
margin-inline-end: 2px !important;
}
}
toolbarbutton.bookmark-item:not(.subviewbutton),
tab.tabbrowser-tab {
margin-inline: 0 !important;
}
.tab-content{
--tab-inline-padding:4px;
}
/*
display: none;
} */
.tab-icon-overlay {
display: none !important;
}
.tab-icon-image {
display: block !important;
opacity: 1 !important;
}
.tabbrowser-tabbusy .tab-icon-image,.tabbrowser-tabpendingicon .tab-icon-image{ opacity: 0!important;
}
hbox.tab-throbber {
display: none !important
}
content:'';
display: block;
width: 16px;
height: 16px;
position: absolute;
left:2px;
top:2px;
background-size: 16px 16px;
background-repeat:no-repeat;
z-index: 2;
background-image: url('oval-black.svg');
}
background-image: url('oval-white.svg');
}
content:'';
display: block;
width: 64px;
height: 64px;
position: absolute;
left:50%;
top:50%;
translate: -50% -50%;
background-size: 64px 64px;
background-repeat:no-repeat;
z-index: 2;
border-radius: 100%;
opacity: 0.5;
background-image: url('default-black.svg');
pointer-events: none;
} */
.tabbrowser-tab {
padding: 0!important;
position: relative;
border-width:unset !important;
border-radius:0 !important;
border-top:2px solid #08f; }
background-color: var(--toolbar-bgcolor) !important;
}
}
/*#navigator-toolbox{
background-color:#ccc !important;
}*/
.tab-background {
display: none !important;
}
:root {
@media (-moz-platform: windows) {
& {
--inactive-titlebar-opacity: 0.5 !important;
}
}
}
.titlebar-button {
padding: 4px 8px !important;
}
width: 22px !important;
}
font-size:1em!important;
}
code:oval-black.svg
<svg
width="16"
height="16"
viewBox="0 0 16 16"
<defs>
<clipPath id="cut-off-bottom">
<rect x="0" y="0" width="12" height="16" />
</clipPath>
</defs>
<g fill="none" fill-rule="evenodd">
<circle cx="8" cy="8" r="7" stroke="#000" stroke-width="1" clip-path="url(#cut-off-bottom)">
<animateTransform
attributeName="transform"
type="rotate"
from="0 8 8"
to="360 8 8"
dur=".5s"
repeatCount="indefinite"
/> </circle>
</g>
</svg>
code:oval-white.svg
<svg
width="16"
height="16"
viewBox="0 0 16 16"
<defs>
<clipPath id="cut-off-bottom">
<rect x="0" y="0" width="12" height="16" />
</clipPath>
</defs>
<g fill="none" fill-rule="evenodd">
<circle cx="8" cy="8" r="7" stroke="#fff" stroke-width="1" clip-path="url(#cut-off-bottom)">
<animateTransform
attributeName="transform"
type="rotate"
from="0 8 8"
to="360 8 8"
dur=".5s"
repeatCount="indefinite"
/> </circle>
</g>
</svg>
https://svg-hosting.vercel.app/api/svg?url=https://scrapbox.io/api/code/villagepump/bsahd_firefox/oval-black.svg
code:user.js
user_pref("browser.cache.disk.capacity", 4000000);
user_pref("browser.cache.disk.max_entry_size", 10000);
user_pref("browser.cache.disk.smart_size.enabled", false);
user_pref("browser.compactmode.show", true);
user_pref("browser.tabs.unloadOnLowMemory", false);
user_pref("browser.urlbar.trimURLs", false);
user_pref("content.sink.enable_perf_mode", 0);
user_pref("dom.ipc.keepProcessesAlive.privilegedabout", 0);
// user_pref("dom.ipc.processCount", 1);
user_pref("dom.ipc.processCount", 128);
// user_pref("dom.ipc.processCount.webIsolated", 1);
user_pref("dom.ipc.processCount.webIsolated", 128);
user_pref("dom.ipc.processPrelaunch.enabled", false);
user_pref("dom.noopener.newprocess.enabled", false);
user_pref("dom.vr.process.enabled", false);
user_pref("dom.webgpu.enabled", false);
user_pref("extensions.pocket.enabled", false);
user_pref("extensions.webextensions.restrictedDomains", "");
// user_pref("fission.autostart", false);
user_pref("fission.autostart", true);
user_pref("fission.bfcacheInParent", false);
user_pref("gfx.canvas.accelerated", true);
user_pref("gfx.canvas.azure.backends", "direct2d1.1,skia");
user_pref("gfx.canvas.remote", false);
user_pref("gfx.content.azure.backends", "direct2d1.1,skia");
user_pref("gfx.direct2d.disabled", false);
user_pref("gfx.display.max-frame-rate", 0);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 0);
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.vsync.force-disable-waitforvblank", true);
user_pref("gfx.webrender.blob-tile-size", 128);
user_pref("gfx.webrender.compositor", true);
user_pref("gfx.webrender.dcomp-win.enabled", true);
user_pref("gfx.webrender.enable-item-cache", true);
user_pref("gfx.webrender.enable-low-priority-pool", false);
user_pref("gfx.webrender.enable-subpixel-aa", false);
user_pref("gfx.webrender.flip-sequential", true);
user_pref("gfx.webrender.force-angle", true);
user_pref("gfx.webrender.multithreading", false);
user_pref("gfx.webrender.picture-tile-height", 256);
user_pref("gfx.webrender.picture-tile-width", 512);
user_pref("gfx.webrender.software", false);
user_pref("gfx.webrender.software.d3d11", false);
user_pref("gfx.webrender.triple-buffering.enabled", true);
user_pref("gfx.webrender.unaccelerated-widget.force", false);
user_pref("gfx.webrender.worker-thread-local-arena", true);
user_pref("image.mem.max_decoded_image_kb", 32000);
user_pref("javascript.options.ion.offthread_compilation", false);
user_pref("javascript.options.parallel_parsing", false);
user_pref("layers.acceleration.disabled", false);
user_pref("layers.d3d11.force-warp", false);
user_pref("layers.gpu-process.enabled", true);
user_pref("layers.offmainthreadcomposition.force-disabled", false);
user_pref("layout.css.stylo-local-work-queue.in-main-thread", 0);
user_pref("layout.css.stylo-threads", 0);
user_pref("layout.css.stylo-work-unit-size", 1);
user_pref("layout.frame_rate", 60);
user_pref("layout.throttled_frame_rate", 10);
user_pref("media.allow-audio-non-utility", true);
user_pref("media.gpu-process-decoder", false);
user_pref("media.hardware-video-decoding.enabled", true);
user_pref("media.memory_cache_max_size", 8192);
user_pref("media.memory_caches_combined_limit_kb", 16384);
user_pref("media.rdd-process.enabled", false);
user_pref("network.decompression_off_mainthread_min_size", -1);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.preferIPv6", true);
user_pref("network.dns.resolver_shutdown_timeout_ms", 4000);
user_pref("network.early-hints.preconnect.max_connections", 0);
user_pref("network.http.accept-encoding", "zstd, br, gzip, deflate");
user_pref("network.http.accept-encoding.secure", "zstd, br, gzip, deflate");
user_pref("network.http.fast-fallback-to-IPv4", false);
user_pref("network.http.http2.enabled", false);
user_pref("network.http.http3.enable", false);
user_pref("network.http.max-connections", 1024);
user_pref("network.http.max-persistent-connections-per-proxy", 1024);
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 0);
user_pref("network.http.rcwn.enabled", false);
user_pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation",true,);
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.predictor.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.process.enabled", false);
user_pref("network.websocket.max-connections", 1024);
user_pref("privacy.resistFingerprinting.block_mozAddonManager", true);
user_pref("webgl.angle.force-warp", false);
user_pref("webgl.forbid-hardware", false);
user_pref("webgl.forbid-software", true);
user_pref("webgl.out-of-process", false);
user_pref("media.utility-process.enabled",false);
前提
firefoxのabout:config
通信も遅いので(兼メモリ節約)
https://gyazo.com/c55dce68d4ba14cf5203d2a08a459d3a